/*
 * SimpleHierarchy.java
 *
 * Created on October 25, 2007, 11:16 AM
 */
package OLDSTUFF.HierarchyPackage.SimpleHierarchy;

import OLDSTUFF.HierarchyPackage.*;

/**
 * Interface for implementation of SimpleHierarchy.
 * Implementations should provide at least two constructors. One which allows the user to specify whether ot not the hierarchy is disjunctive.
 * Another that allows the hierarchy-structure to be loaded from a file.
 * @author Martin Haulrich
 */
public interface SimpleHierarchy extends Hierarchy {

    /**
     * Returns string representation of hierarchy
     * @return string representation of hierarchy
     */
    @Override
    public String toString();


    /**
     * Returns string representation of hierarchy
     * Use parameters to tell whether class IDs, class names ot both should
     * be printed.
     * @return Returns string representation of hierarchy
     * @param printID set true if the ID for classes in the hierarchy should
     *                be printed
     * @param printName set true if the name for classes in the hierarchy
     *                  should be printed
     * @throws HierarchyPackage.HierarchyException Exception thrown when there are problems accesing the hierarchy.
     */
    public String toStringParam(boolean printID, boolean printName) throws HierarchyException;
}
